package fl.ass.service.transform;

import java.util.ArrayList;
import java.util.List;

import fl.ass.facade.dto.AssPrdEvaluationDTO;
import fl.ass.service.po.AssPrdEvaluation;
import cn.cmm.base.framework.utils.CollectionUtils;

 /**
 * @Description: 资产评估 转换器
 * @Description: 服务层与展现层转换类
 * @Description: 所有的PO只能在持久成和服务层使用
 * @Description: 所有的DTO只能在展现层和服务层使用
 * @Description: 在服务层中向下是DTO转PO,向上是PO转DTO
 */
public class AssPrdEvaluationTransform {


	/**
	 * PO 转  DTO
	 * @param po AssPrdEvaluation
	 * @return AssPrdEvaluationDTO
	 */
	public static AssPrdEvaluationDTO toDTO(AssPrdEvaluation po) {
		AssPrdEvaluationDTO  dto = null;
		if (po != null) { 
			dto = new AssPrdEvaluationDTO();
			dto.setId(po.getId());
			dto.setPrjId(po.getPrjId());//项目ID
			dto.setPaySchId(po.getPaySchId());//支付表ID
			dto.setPaySchNo(po.getPaySchNo());//支付表编号
			dto.setCstId(po.getCstId());//客户ID
			dto.setCstNm(po.getCstNm());//客户名称
			dto.setEvalRem(po.getEvalRem());//评估备注
			dto.setEvalStatusCd(po.getEvalStatusCd());//评估状态(ASS0012)
			dto.setEvalTm(po.getEvalTm());//评估时间
			dto.setEvalSeqNo(po.getEvalSeqNo());//评估序号
			dto.setDataTypeCd(po.getDataTypeCd());//数据类型(ASS0013)
			dto.setIsNew(po.getIsNew());//是否新记录 1-是 0-否
			dto.setIsDel(po.getIsDel());//是否删除 1-删除 0-正常
			dto.setMasterId(po.getMasterId());//拖车ID
			dto.setDetailId(po.getDetailId());//拖车明细ID

			dto.setCrtTm(po.getCrtTm());//创建时间
			dto.setCrtUsrId(po.getCrtUsrId());//创建人
			dto.setMdfTm(po.getMdfTm());//修改时间
			dto.setMdfUsrId(po.getMdfUsrId());//修改人
		}
		return dto;
	}

	/**
	 * DTO 转  PO
	 * @param dto AssPrdEvaluationDTO
	 * @return AssPrdEvaluation
	 */
	public static AssPrdEvaluation toPO(AssPrdEvaluationDTO dto) {
		AssPrdEvaluation po = null;
		if (dto != null) {
			po = new AssPrdEvaluation();
			po.setId(dto.getId());
			po.setPrjId(dto.getPrjId());//项目ID
			po.setPaySchId(dto.getPaySchId());//支付表ID
			po.setPaySchNo(dto.getPaySchNo());//支付表编号
			po.setCstId(dto.getCstId());//客户ID
			po.setCstNm(dto.getCstNm());//客户名称
			po.setEvalRem(dto.getEvalRem());//评估备注
			po.setEvalStatusCd(dto.getEvalStatusCd());//评估状态(ASS0012)
			po.setEvalTm(dto.getEvalTm());//评估时间
			po.setEvalSeqNo(dto.getEvalSeqNo());//评估序号
			po.setDataTypeCd(dto.getDataTypeCd());//数据类型(ASS0013)
			po.setIsNew(dto.getIsNew());//是否新记录 1-是 0-否
			po.setIsDel(dto.getIsDel());//是否删除 1-删除 0-正常
			po.setMasterId(dto.getMasterId());//拖车ID
			po.setDetailId(dto.getDetailId());//拖车明细ID

			po.setCrtTm(dto.getCrtTm());//创建时间
			po.setCrtUsrId(dto.getCrtUsrId());//创建人
			po.setMdfTm(dto.getMdfTm());//修改时间
			po.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return po;
	}
	
	/**
	 * PO集合 转 DTO集合
	 * @param list List<AssPrdEvaluation>
	 * @return List<AssPrdEvaluationDTO>
	 */
	public static List<AssPrdEvaluationDTO> toDTOList(List<AssPrdEvaluation> list) {
		List<AssPrdEvaluationDTO>  voList = new ArrayList<AssPrdEvaluationDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssPrdEvaluation po : list) {
				voList.add(toDTO(po));
			}
		}
		return voList;
	}
}
